package org.hose.core;

import java.util.ArrayList;
import java.util.List;
/**
 * 测试用例结构
 * 属性有：
 * 1. 测试用例模块
 * 2. 测试用例编号
 * 3. 测试用例名称（标题或描述）
 * 4. 测试用例步骤
 */
public class TestCase {

    // 测试用例所属模块
    private String module;

    // 测试用例编号
    private String caseId;

    // 测试用例名称或描述
    private String caseName;

    // 测试用例步骤列表
    private List<TestCaseStep> steps = new ArrayList<TestCaseStep>();

    public TestCase() {}

    /**
     * 构造函数，初始化测试用例
     * @param module 测试用例模块
     * @param caseId 测试用例编号
     * @param caseName 测试用例名称或描述
     * @param steps 测试用例步骤列表
     */
    public TestCase(String module, String caseId, String caseName, List<TestCaseStep> steps) {
        this.module = module;
        this.caseId = caseId;
        this.caseName = caseName;
        this.steps = steps;
    }

    // getter 和 setter 方法
    public String getModule() {
        return module;
    }

    public void setModule(String module) {
        this.module = module;
    }

    public String getCaseId() {
        return caseId;
    }

    public void setCaseId(String caseId) {
        this.caseId = caseId;
    }

    public String getCaseName() {
        return caseName;
    }

    public void setCaseName(String caseName) {
        this.caseName = caseName;
    }

    public List<TestCaseStep> getSteps() {
        return steps;
    }

    public void setSteps(List<TestCaseStep> steps) {
        this.steps = steps;
    }

    @Override
    public String toString() {
        return "TestCase{" +
                "module='" + module + '\'' +
                ", caseId=" + caseId +
                ", caseName='" + caseName + '\'' +
                ", steps=" + steps +
                '}';
    }
}
